"""
将单方法的类转换为函数

问题：
    你有一个除 __init__() 方法外只定义了一个方法的类。
    为了简化代码，你想将它转换成一个函数。
解决方案：
    大多数情况下，可以使用闭包来将单个方法的类转换成函数
"""


class AboutLove:
    def __init__(self, content):
        self.content = content

    def show(self, **kwargs):
        print(kwargs)
        return self.content


def use_about_love_class():
    content = "有人的爱情关于房和车，有人的爱情只关于一日三餐、你和我。"
    love = AboutLove(content)
    print(love.show(wechat_id="十点读书"))
    # 输出结果：
    """
    {'wechat_id': '十点读书'}
    有人的爱情关于房和车，有人的爱情只关于一日三餐、你和我。
    """


def about_love(content):
    def show(**kwargs):
        print(kwargs)
        return content

    return show


def use_about_love():
    content = "有人的爱情关于房和车，有人的爱情只关于一日三餐、你和我。"
    love = about_love(content)
    print(love(wechat_id="十点读书"))
    # 输出结果：
    """
    {'wechat_id': '十点读书'}
    有人的爱情关于房和车，有人的爱情只关于一日三餐、你和我。
    """


if __name__ == '__main__':
    use_about_love_class()
    use_about_love()
